home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 142
/
Gekkan Dennou Club - 2000.3 Vol. 142 (Japan).7z
/
Gekkan Dennou Club - 2000.3 Vol. 142 (Japan) (Track 1).bin
/
tools
/
s_tool
/
vpmatv.c
< prev
Wrap
Text File
|
1995-12-18
|
3KB
|
123 lines
#define TITLE "X68k VPMATV [Matier仮想画面VideoPrinter] with DCVP2.x\n\t\t\t\tVersion 1.00 TNB製作所\n"
#include <TNB.H>
#include <basic.H>
#include <stdio.H>
UNchar MAT[256]; //MATIER のあるパス
void main(ar,av)
int ar;
char *av[];
{
int i,j,m,n;
UNchar *s;
FILE *f;
UNchar buf[512];
UNchar cml[512];
UNchar dmi[512];
UNchar *vadds=0;
int xwidth,ywidth;
printf("\x1b[m");
printf( TITLE );
for(i=1;i<ar;i++){
if ( av[i][0]=='-' || av[i][0]=='/' ){
switch(av[i][1]|0x20){
case('m'):
case('9'):
case('w'):
case('s'):
case('p'):
case('b'):
case('x'):
case('y'):
break;
case('h'):
case('?'):
Help();
break;
default:
Err(" スイッチに誤りがあります。");
}
} else {
Err(" スイッチに誤りがあります。");
}
}
/*--------MAT.$$$確認-------*/
i=GETENV("MATIER",NULL,MAT); //環境変数MATIERの中身を得る
if ( i<0 )
Err(" 環境変数`MATIER'が設定されていません。");
for(s=MAT;*s!=0;s++);
if ( *s-1!='\\' ){ //最後に\がついているか?
*s++='\\';
*s=0;
}
strcat(MAT,"MAT.$$$"); //MAT.$$$のフルパス、のはず
f=fopen(MAT,"rt");
if ( f==NULL )
Err(" MAT.$$$が見つかりません。\n 環境変数`MATIER'の内容に誤りがある可能性があります。");
while( fgets(buf,128,f)!=NULL ){
if ( buf[0]=='V' && buf[1]==' ' ){
sscanf(buf,"%s %p %d %d",dmi,&vadds,&xwidth,&ywidth);
break;
}
}
fclose( f );
if ( (int)vadds==0 )
Err(" 仮想画面が設定されていないようです。");
strcpy(buf,"DCVP2.x ");
for(i=1;i<ar;i++){
strcat(buf,av[i]);
strcat(buf," ");
}
sprintf(cml,"%s-E$%X,%d,%d",buf,vadds,xwidth,ywidth);
//printf("%s\n\n",cml);
if ( CHILD(cml) )
Err(0);
EXIT2(0);
}
/*++++++++++++++++++++++++++++++++++++++*/
void Err(st)
UNchar *st;
{
if ( st!=0 )
printf(st);
printf("\n [何かキーを押して下さい]\n");
KFLUSHIO(0xFF);
INKEY();
KFLUSHIO(0xFF);
EXIT2(-1);
}
/*++++++++++++++++++++++++++++++++++++++*/
void Help()
{
printf(
"\n"
" マチエールの仮想画面をビデオプリンタで印画します。\n"
"\n"
"使用法:VPMATV.x [switch]\n"
" /M ・・・・ マウスで諸設定を行います(Visual DCVP)。\n"
" /9 ・・・・ 用紙を縦置きに使用します。\n"
" /W ・・・・ ワイドシートを使用します。\n"
" /S ・・・・ 正ドット比モードにします。\n"
" /P[sx],[sy],[ex],[ey] ・・・・\n"
" プリントする画像の範囲を指定します。\n"
// " /B[n]・・ 単純[n]/256倍してプリントします。\n"
" /X[n]・・ 横のマージを設定します(def.0)。\n"
" (0=中央,1=左寄せ,2=右寄せ)\n"
" /Y[n]・・ 縦のマージを設定します(def.0)。\n"
" (0=中央,1=上寄せ,2=下寄せ)\n"
"\n"
" DCVP2.x を呼び出しますので、パスの通っているところに\n"
" DCVP2.x をおいて下さい。\n"
" MAT.$$$ を読みますので、環境変数`MATIER'にMATIERのパス\n"
" を設定して下さい。\n"
);
EXIT2(0);
}